using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes.DomainAttributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Enums;
using System.Collections.Generic;
using System.ComponentModel;

namespace Baci.ArcGIS._SpatialStatisticsTools._AnalyzingPatterns
{
    /// <summary>
    /// <para>HighLow Clustering </para>
    /// <para>Measures the degree of clustering for either high or low values using the Getis-Ord General G statistic.</para>
    /// <para>使用 Getis-Ord General G 统计量测量高值或低值的聚类程度。</para>
    /// </summary>    
    [DisplayName("HighLow Clustering ")]
    public class HighLowClustering : AbstractGPProcess
    {
        /// <summary>
        /// 无参构造
        /// </summary>
        public HighLowClustering()
        {

        }

        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="_Input_Feature_Class">
        /// <para>Input Feature Class</para>
        /// <para>The feature class for which the General G statistic will be calculated.</para>
        /// <para>将计算其常规 G 统计数据的要素类。</para>
        /// </param>
        /// <param name="_Input_Field">
        /// <para>Input Field</para>
        /// <para>The numeric field to be evaluated.</para>
        /// <para>要计算的数值字段。</para>
        /// </param>
        /// <param name="_Conceptualization_of_Spatial_Relationships">
        /// <para>Conceptualization of Spatial Relationships</para>
        /// <para><xdoc>
        ///   <para>Specifies how spatial relationships among features are defined.</para>
        ///   <bulletList>
        ///     <bullet_item>Inverse distance—Nearby neighboring features have a larger influence on the computations for a target feature than features that are far away.</bullet_item><para/>
        ///     <bullet_item>Inverse distance squared—Same as Inverse distance except that the slope is sharper, so influence drops off more quickly, and only a target feature's closest neighbors will exert substantial influence on computations for that feature.</bullet_item><para/>
        ///     <bullet_item>Fixed distance band—Each feature is analyzed within the context of neighboring features. Neighboring features inside the specified critical distance (Distance Band or Threshold Distance) receive a weight of one and exert influence on computations for the target feature. Neighboring features outside the critical distance receive a weight of zero and have no influence on a target feature's computations.</bullet_item><para/>
        ///     <bullet_item>Zone of indifference—Features within the specified critical distance (Distance Band or Threshold Distance) of a target feature receive a weight of one and influence computations for that feature. Once the critical distance is exceeded, weights (and the influence a neighboring feature has on target feature computations) diminish with distance.</bullet_item><para/>
        ///     <bullet_item>K nearest neighbors—The closest k features are included in the analysis; k is a specified numeric parameter.</bullet_item><para/>
        ///     <bullet_item>Contiguity edges only—Only neighboring polygon features that share a boundary or overlap will influence computations for the target polygon feature.</bullet_item><para/>
        ///     <bullet_item>Contiguity edges corners—Polygon features that share a boundary, share a node, or overlap will influence computations for the target polygon feature.</bullet_item><para/>
        ///     <bullet_item>Get spatial weights from file—Spatial relationships are defined by a specified spatial weights file. The path to the spatial weights file is specified by the Weights Matrix File parameter.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定如何定义要素之间的空间关系。</para>
        ///   <bulletList>
        ///     <bullet_item>反距离 - 与远处的要素相比，邻近要素对目标要素的计算影响更大。</bullet_item><para/>
        ///     <bullet_item>反距离平方 - 与反距离相同，只是斜率更锐利，因此影响下降得更快，并且只有目标要素的最近邻域才会对该要素的计算产生重大影响。</bullet_item><para/>
        ///     <bullet_item>固定距离带 - 在相邻要素的上下文中分析每个要素。指定临界距离（距离带或阈值距离）内的相邻要素的权重为 1，并对目标要素的计算产生影响。临界距离之外的相邻要素的权重为零，并且对目标要素的计算没有影响。</bullet_item><para/>
        ///     <bullet_item>无差异区域 - 目标要素的指定临界距离（距离带或阈值距离）内的要素将获得权重 1 并影响该要素的计算。一旦超过临界距离，权重（以及相邻要素对目标要素计算的影响）会随着距离的增加而减小。</bullet_item><para/>
        ///     <bullet_item>K 最近邻 - 分析中包括最近 k 个要素;k 是指定的数值参数。</bullet_item><para/>
        ///     <bullet_item>仅限邻接边—只有共享边界或重叠的相邻面要素才会影响目标面要素的计算。</bullet_item><para/>
        ///     <bullet_item>邻接边角 - 共享边界、共享节点或重叠的面要素将影响目标面要素的计算。</bullet_item><para/>
        ///     <bullet_item>从文件中获取空间权重 - 空间关系由指定的空间权重文件定义。空间权重文件的路径由权重矩阵文件参数指定。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// </param>
        /// <param name="_Distance_Method">
        /// <para>Distance Method</para>
        /// <para><xdoc>
        ///   <para>Specifies how distances are calculated from each feature to neighboring features.</para>
        ///   <bulletList>
        ///     <bullet_item>Euclidean—The straight-line distance between two points (as the crow flies)</bullet_item><para/>
        ///     <bullet_item>Manhattan—The distance between two points measured along axes at right angles (city block); calculated by summing the (absolute) difference between the x- and y-coordinates</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定如何计算从每个要素到相邻要素的距离。</para>
        ///   <bulletList>
        ///     <bullet_item>欧几里得 - 两点之间的直线距离（乌鸦飞翔时）</bullet_item><para/>
        ///     <bullet_item>曼哈顿 - 沿直角轴测量的两点之间的距离（城市街区）;通过将 x 坐标和 y 坐标之间的（绝对）差求和计算得出</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// </param>
        /// <param name="_Standardization">
        /// <para>Standardization</para>
        /// <para><xdoc>
        ///   <para>Specifies whether standardization of spatial weights will be applied. Row standardization is recommended whenever the distribution of your features is potentially biased due to sampling design or an imposed aggregation scheme.</para>
        ///   <bulletList>
        ///     <bullet_item>None—No standardization of spatial weights is applied.</bullet_item><para/>
        ///     <bullet_item>Row—Spatial weights are standardized; each weight is divided by its row sum (the sum of the weights of all neighboring features). This is the default.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定是否应用空间权重的标准化。每当要素的分布由于采样设计或强加的聚合方案而可能存在偏差时，建议进行行标准化。</para>
        ///   <bulletList>
        ///     <bullet_item>无 - 不应用空间权重的标准化。</bullet_item><para/>
        ///     <bullet_item>行 - 空间权重已标准化;每个权重除以其行总和（所有相邻要素的权重之和）。这是默认设置。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// </param>
        public HighLowClustering(object _Input_Feature_Class, object _Input_Field, _Conceptualization_of_Spatial_Relationships_value _Conceptualization_of_Spatial_Relationships, _Distance_Method_value _Distance_Method, _Standardization_value _Standardization)
        {
            this._Input_Feature_Class = _Input_Feature_Class;
            this._Input_Field = _Input_Field;
            this._Conceptualization_of_Spatial_Relationships = _Conceptualization_of_Spatial_Relationships;
            this._Distance_Method = _Distance_Method;
            this._Standardization = _Standardization;
        }
        public override string ToolboxName => "Spatial Statistics Tools";

        public override string ToolName => "HighLow Clustering ";

        public override string CallName => "stats.HighLowClustering";

        public override List<string> AcceptEnvironments => ["geographicTransformations", "outputCoordinateSystem", "scratchWorkspace", "workspace"];

        public override object[] ParameterInfo => [_Input_Feature_Class, _Input_Field, _Generate_Report.GetGPValue(), _Conceptualization_of_Spatial_Relationships.GetGPValue(), _Distance_Method.GetGPValue(), _Standardization.GetGPValue(), _Distance_Band_or_Threshold_Distance, _Weights_Matrix_File, _Observed_General_G, _ZScore, _PValue, _Report_File, _number_of_neighbors];

        /// <summary>
        /// <para>Input Feature Class</para>
        /// <para>The feature class for which the General G statistic will be calculated.</para>
        /// <para>将计算其常规 G 统计数据的要素类。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Feature Class")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _Input_Feature_Class { get; set; }


        /// <summary>
        /// <para>Input Field</para>
        /// <para>The numeric field to be evaluated.</para>
        /// <para>要计算的数值字段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Field")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _Input_Field { get; set; }


        /// <summary>
        /// <para>Generate Report</para>
        /// <para><xdoc>
        ///   <para>Specifies whether the tool will create a graphical summary of results.</para>
        ///   <bulletList>
        ///     <bullet_item>Checked—A graphical summary will be created as an HTML file.</bullet_item><para/>
        ///     <bullet_item>Unchecked—No graphical summary will be created. This is the default.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定该工具是否将创建结果的图形摘要。</para>
        ///   <bulletList>
        ///     <bullet_item>选中 - 图形摘要将创建为 HTML 文件。</bullet_item><para/>
        ///     <bullet_item>未选中 - 不会创建图形摘要。这是默认设置。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Generate Report")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _Generate_Report_value? _Generate_Report { get; set; } = null;

        public enum _Generate_Report_value
        {
            /// <summary>
            /// <para>GENERATE_REPORT</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("GENERATE_REPORT")]
            [GPEnumValue("true")]
            _true,

            /// <summary>
            /// <para>NO_REPORT</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("NO_REPORT")]
            [GPEnumValue("false")]
            _false,

        }

        /// <summary>
        /// <para>Conceptualization of Spatial Relationships</para>
        /// <para><xdoc>
        ///   <para>Specifies how spatial relationships among features are defined.</para>
        ///   <bulletList>
        ///     <bullet_item>Inverse distance—Nearby neighboring features have a larger influence on the computations for a target feature than features that are far away.</bullet_item><para/>
        ///     <bullet_item>Inverse distance squared—Same as Inverse distance except that the slope is sharper, so influence drops off more quickly, and only a target feature's closest neighbors will exert substantial influence on computations for that feature.</bullet_item><para/>
        ///     <bullet_item>Fixed distance band—Each feature is analyzed within the context of neighboring features. Neighboring features inside the specified critical distance (Distance Band or Threshold Distance) receive a weight of one and exert influence on computations for the target feature. Neighboring features outside the critical distance receive a weight of zero and have no influence on a target feature's computations.</bullet_item><para/>
        ///     <bullet_item>Zone of indifference—Features within the specified critical distance (Distance Band or Threshold Distance) of a target feature receive a weight of one and influence computations for that feature. Once the critical distance is exceeded, weights (and the influence a neighboring feature has on target feature computations) diminish with distance.</bullet_item><para/>
        ///     <bullet_item>K nearest neighbors—The closest k features are included in the analysis; k is a specified numeric parameter.</bullet_item><para/>
        ///     <bullet_item>Contiguity edges only—Only neighboring polygon features that share a boundary or overlap will influence computations for the target polygon feature.</bullet_item><para/>
        ///     <bullet_item>Contiguity edges corners—Polygon features that share a boundary, share a node, or overlap will influence computations for the target polygon feature.</bullet_item><para/>
        ///     <bullet_item>Get spatial weights from file—Spatial relationships are defined by a specified spatial weights file. The path to the spatial weights file is specified by the Weights Matrix File parameter.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定如何定义要素之间的空间关系。</para>
        ///   <bulletList>
        ///     <bullet_item>反距离 - 与远处的要素相比，邻近要素对目标要素的计算影响更大。</bullet_item><para/>
        ///     <bullet_item>反距离平方 - 与反距离相同，只是斜率更锐利，因此影响下降得更快，并且只有目标要素的最近邻域才会对该要素的计算产生重大影响。</bullet_item><para/>
        ///     <bullet_item>固定距离带 - 在相邻要素的上下文中分析每个要素。指定临界距离（距离带或阈值距离）内的相邻要素的权重为 1，并对目标要素的计算产生影响。临界距离之外的相邻要素的权重为零，并且对目标要素的计算没有影响。</bullet_item><para/>
        ///     <bullet_item>无差异区域 - 目标要素的指定临界距离（距离带或阈值距离）内的要素将获得权重 1 并影响该要素的计算。一旦超过临界距离，权重（以及相邻要素对目标要素计算的影响）会随着距离的增加而减小。</bullet_item><para/>
        ///     <bullet_item>K 最近邻 - 分析中包括最近 k 个要素;k 是指定的数值参数。</bullet_item><para/>
        ///     <bullet_item>仅限邻接边—只有共享边界或重叠的相邻面要素才会影响目标面要素的计算。</bullet_item><para/>
        ///     <bullet_item>邻接边角 - 共享边界、共享节点或重叠的面要素将影响目标面要素的计算。</bullet_item><para/>
        ///     <bullet_item>从文件中获取空间权重 - 空间关系由指定的空间权重文件定义。空间权重文件的路径由权重矩阵文件参数指定。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Conceptualization of Spatial Relationships")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public _Conceptualization_of_Spatial_Relationships_value _Conceptualization_of_Spatial_Relationships { get; set; }

        public enum _Conceptualization_of_Spatial_Relationships_value
        {
            /// <summary>
            /// <para>Inverse distance</para>
            /// <para>Inverse distance—Nearby neighboring features have a larger influence on the computations for a target feature than features that are far away.</para>
            /// <para>反距离 - 与远处的要素相比，邻近要素对目标要素的计算影响更大。</para>
            /// </summary>
            [Description("Inverse distance")]
            [GPEnumValue("INVERSE_DISTANCE")]
            _INVERSE_DISTANCE,

            /// <summary>
            /// <para>Inverse distance squared</para>
            /// <para>Inverse distance squared—Same as Inverse distance except that the slope is sharper, so influence drops off more quickly, and only a target feature's closest neighbors will exert substantial influence on computations for that feature.</para>
            /// <para>反距离平方 - 与反距离相同，只是斜率更锐利，因此影响下降得更快，并且只有目标要素的最近邻域才会对该要素的计算产生重大影响。</para>
            /// </summary>
            [Description("Inverse distance squared")]
            [GPEnumValue("INVERSE_DISTANCE_SQUARED")]
            _INVERSE_DISTANCE_SQUARED,

            /// <summary>
            /// <para>Fixed distance band</para>
            /// <para>Fixed distance band—Each feature is analyzed within the context of neighboring features. Neighboring features inside the specified critical distance (Distance Band or Threshold Distance) receive a weight of one and exert influence on computations for the target feature. Neighboring features outside the critical distance receive a weight of zero and have no influence on a target feature's computations.</para>
            /// <para>固定距离带 - 在相邻要素的上下文中分析每个要素。指定临界距离（距离带或阈值距离）内的相邻要素的权重为 1，并对目标要素的计算产生影响。临界距离之外的相邻要素的权重为零，并且对目标要素的计算没有影响。</para>
            /// </summary>
            [Description("Fixed distance band")]
            [GPEnumValue("FIXED_DISTANCE_BAND")]
            _FIXED_DISTANCE_BAND,

            /// <summary>
            /// <para>Zone of indifference</para>
            /// <para>Zone of indifference—Features within the specified critical distance (Distance Band or Threshold Distance) of a target feature receive a weight of one and influence computations for that feature. Once the critical distance is exceeded, weights (and the influence a neighboring feature has on target feature computations) diminish with distance.</para>
            /// <para>无差异区域 - 目标要素的指定临界距离（距离带或阈值距离）内的要素将获得权重 1 并影响该要素的计算。一旦超过临界距离，权重（以及相邻要素对目标要素计算的影响）会随着距离的增加而减小。</para>
            /// </summary>
            [Description("Zone of indifference")]
            [GPEnumValue("ZONE_OF_INDIFFERENCE")]
            _ZONE_OF_INDIFFERENCE,

            /// <summary>
            /// <para>K nearest neighbors</para>
            /// <para>K nearest neighbors—The closest k features are included in the analysis; k is a specified numeric parameter.</para>
            /// <para>K 最近邻 - 分析中包括最近 k 个要素;k 是指定的数值参数。</para>
            /// </summary>
            [Description("K nearest neighbors")]
            [GPEnumValue("K_NEAREST_NEIGHBORS")]
            _K_NEAREST_NEIGHBORS,

            /// <summary>
            /// <para>Contiguity edges only</para>
            /// <para>Contiguity edges only—Only neighboring polygon features that share a boundary or overlap will influence computations for the target polygon feature.</para>
            /// <para>仅限邻接边—只有共享边界或重叠的相邻面要素才会影响目标面要素的计算。</para>
            /// </summary>
            [Description("Contiguity edges only")]
            [GPEnumValue("CONTIGUITY_EDGES_ONLY")]
            _CONTIGUITY_EDGES_ONLY,

            /// <summary>
            /// <para>Contiguity edges corners</para>
            /// <para>Contiguity edges corners—Polygon features that share a boundary, share a node, or overlap will influence computations for the target polygon feature.</para>
            /// <para>邻接边角 - 共享边界、共享节点或重叠的面要素将影响目标面要素的计算。</para>
            /// </summary>
            [Description("Contiguity edges corners")]
            [GPEnumValue("CONTIGUITY_EDGES_CORNERS")]
            _CONTIGUITY_EDGES_CORNERS,

            /// <summary>
            /// <para>Get spatial weights from file</para>
            /// <para>Get spatial weights from file—Spatial relationships are defined by a specified spatial weights file. The path to the spatial weights file is specified by the Weights Matrix File parameter.</para>
            /// <para>从文件中获取空间权重 - 空间关系由指定的空间权重文件定义。空间权重文件的路径由权重矩阵文件参数指定。</para>
            /// </summary>
            [Description("Get spatial weights from file")]
            [GPEnumValue("GET_SPATIAL_WEIGHTS_FROM_FILE")]
            _GET_SPATIAL_WEIGHTS_FROM_FILE,

        }

        /// <summary>
        /// <para>Distance Method</para>
        /// <para><xdoc>
        ///   <para>Specifies how distances are calculated from each feature to neighboring features.</para>
        ///   <bulletList>
        ///     <bullet_item>Euclidean—The straight-line distance between two points (as the crow flies)</bullet_item><para/>
        ///     <bullet_item>Manhattan—The distance between two points measured along axes at right angles (city block); calculated by summing the (absolute) difference between the x- and y-coordinates</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定如何计算从每个要素到相邻要素的距离。</para>
        ///   <bulletList>
        ///     <bullet_item>欧几里得 - 两点之间的直线距离（乌鸦飞翔时）</bullet_item><para/>
        ///     <bullet_item>曼哈顿 - 沿直角轴测量的两点之间的距离（城市街区）;通过将 x 坐标和 y 坐标之间的（绝对）差求和计算得出</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Distance Method")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public _Distance_Method_value _Distance_Method { get; set; }

        public enum _Distance_Method_value
        {
            /// <summary>
            /// <para>Euclidean</para>
            /// <para>Euclidean—The straight-line distance between two points (as the crow flies)</para>
            /// <para>欧几里得 - 两点之间的直线距离（乌鸦飞翔时）</para>
            /// </summary>
            [Description("Euclidean")]
            [GPEnumValue("EUCLIDEAN_DISTANCE")]
            _EUCLIDEAN_DISTANCE,

            /// <summary>
            /// <para>Manhattan</para>
            /// <para>Manhattan—The distance between two points measured along axes at right angles (city block); calculated by summing the (absolute) difference between the x- and y-coordinates</para>
            /// <para>曼哈顿 - 沿直角轴测量的两点之间的距离（城市街区）;通过将 x 坐标和 y 坐标之间的（绝对）差求和计算得出</para>
            /// </summary>
            [Description("Manhattan")]
            [GPEnumValue("MANHATTAN_DISTANCE")]
            _MANHATTAN_DISTANCE,

        }

        /// <summary>
        /// <para>Standardization</para>
        /// <para><xdoc>
        ///   <para>Specifies whether standardization of spatial weights will be applied. Row standardization is recommended whenever the distribution of your features is potentially biased due to sampling design or an imposed aggregation scheme.</para>
        ///   <bulletList>
        ///     <bullet_item>None—No standardization of spatial weights is applied.</bullet_item><para/>
        ///     <bullet_item>Row—Spatial weights are standardized; each weight is divided by its row sum (the sum of the weights of all neighboring features). This is the default.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定是否应用空间权重的标准化。每当要素的分布由于采样设计或强加的聚合方案而可能存在偏差时，建议进行行标准化。</para>
        ///   <bulletList>
        ///     <bullet_item>无 - 不应用空间权重的标准化。</bullet_item><para/>
        ///     <bullet_item>行 - 空间权重已标准化;每个权重除以其行总和（所有相邻要素的权重之和）。这是默认设置。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Standardization")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public _Standardization_value _Standardization { get; set; }

        public enum _Standardization_value
        {
            /// <summary>
            /// <para>None</para>
            /// <para>None—No standardization of spatial weights is applied.</para>
            /// <para>无 - 不应用空间权重的标准化。</para>
            /// </summary>
            [Description("None")]
            [GPEnumValue("NONE")]
            _NONE,

            /// <summary>
            /// <para>Row</para>
            /// <para>Row—Spatial weights are standardized; each weight is divided by its row sum (the sum of the weights of all neighboring features). This is the default.</para>
            /// <para>行 - 空间权重已标准化;每个权重除以其行总和（所有相邻要素的权重之和）。这是默认设置。</para>
            /// </summary>
            [Description("Row")]
            [GPEnumValue("ROW")]
            _ROW,

        }

        /// <summary>
        /// <para>Distance Band or Threshold Distance</para>
        /// <para><xdoc>
        ///   <para>Specifies a cutoff distance for the inverse distance and fixed distance options. Features outside the specified cutoff for a target feature are ignored in analyses for that feature. However, for Zone of indifference, the influence of features outside the given distance is reduced with distance, while those inside the distance threshold are equally considered. The distance value entered should match that of the output coordinate system.</para>
        ///   <para>For the inverse distance conceptualizations of spatial relationships, a value of 0 indicates that no threshold distance is applied; when this parameter is left blank, a default threshold value is computed and applied. This default value is the Euclidean distance that ensures that every feature has at least one neighbor.</para>
        ///   <para>This parameter has no effect when polygon contiguity (Contiguity edges only or Contiguity edges corners) or Get spatial weights from file spatial conceptualizations are selected.</para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定反距离和固定距离选项的截止距离。在对目标要素的分析中，将忽略目标要素的指定截止值之外的特征。然而，对于无差异区域，给定距离之外的要素的影响随着距离的增加而减小，而距离阈值内的要素则被同样考虑在内。输入的距离值应与输出坐标系的距离值匹配。</para>
        ///   <para>对于空间关系的反距离概念化，值为 0 表示未应用阈值距离;当此参数留空时，将计算并应用默认阈值。此默认值为欧几里得距离，用于确保每个要素至少有一个邻居。</para>
        ///   <para>当选择多边形邻接度（仅邻接边或邻接边角）或从文件空间概念化获取空间权重时，此参数无效。</para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Distance Band or Threshold Distance")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double? _Distance_Band_or_Threshold_Distance { get; set; } = null;


        /// <summary>
        /// <para>Weights Matrix File</para>
        /// <para>The path to a file containing weights that define spatial, and potentially temporal, relationships among features.</para>
        /// <para>包含权重的文件的路径，这些权重用于定义要素之间的空间关系和潜在的时间关系。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Weights Matrix File")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public object _Weights_Matrix_File { get; set; } = null;


        /// <summary>
        /// <para>Observed General G</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Observed General G")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public double? _Observed_General_G { get; set; }


        /// <summary>
        /// <para>ZScore</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("ZScore")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public double? _ZScore { get; set; }


        /// <summary>
        /// <para>PValue</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("PValue")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public double? _PValue { get; set; }


        /// <summary>
        /// <para>Report File</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Report File")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public object _Report_File { get; set; }


        /// <summary>
        /// <para>Number of Neighbors</para>
        /// <para>An integer specifying the number of neighbors that will be included in the analysis.</para>
        /// <para>一个整数，指定将包含在分析中的邻居数。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Number of Neighbors")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public long? _number_of_neighbors { get; set; } = null;


        public HighLowClustering SetEnv(object geographicTransformations = null, object outputCoordinateSystem = null, object scratchWorkspace = null, object workspace = null)
        {
            base.SetEnv(geographicTransformations: geographicTransformations, outputCoordinateSystem: outputCoordinateSystem, scratchWorkspace: scratchWorkspace, workspace: workspace);
            return this;
        }

    }

}